package org.example.com.editor.ui;
import lombok.Getter;
import lombok.Setter;

import java.io.InputStream;
import java.util.Scanner;

/**
 * 控制台UI：处理输入输出，不包含业务逻辑
 */
@Getter
public class ConsoleUI {
    private final Scanner scanner;
    // 设置当前命令的参数（供命令获取）
    @Setter
    private String[] commandArgs;  // 存储当前命令的参数

    public ConsoleUI() {
        this.scanner = new Scanner(System.in);
    }

    public ConsoleUI(InputStream inputStream) {
        this.scanner = new Scanner(inputStream);
    }

    // 打印普通信息
    public void printInfo(String message) {
        System.out.println(message);
    }

    // 打印错误信息
    public void printError(String message) {
        System.out.println("[ERROR] " + message);
    }

    // 读取用户输入
    public String readInput() {
        System.out.print("> ");  // 命令提示符
        return scanner.nextLine();
    }

}